/**
 * @file board_cfg.c
 * @brief 
 * @author Dream Shao (1090820065@qq.com)
 * @version 1.0
 * @date 2025-07-13
 * 
 * @copyright Copyright (c) 2025
 * 
 * @par 修改日志:
 * Date       Version    Author       Description
 * 2025-07-13     1.0        
 */
#include "gd32f4xx_rcu.h"

#include "board_cfg.h"

/*******************************************************************************
 * Definitions
 ******************************************************************************/

/*******************************************************************************
 * Variables
 ******************************************************************************/

 /******************************************************************************
 * Code
 ******************************************************************************/
/**
 * @brief 外设时钟初始化
 * @param 无
 * @return 无
 */
 void vBoard_ClockInit(void)
{
    /* 使能GPIO时钟 */
    rcu_periph_clock_enable(RCU_GPIOA);
    rcu_periph_clock_enable(RCU_GPIOB);
    rcu_periph_clock_enable(RCU_GPIOC);
    rcu_periph_clock_enable(RCU_GPIOD);
    rcu_periph_clock_enable(RCU_GPIOE);
    rcu_periph_clock_enable(RCU_GPIOF);
    rcu_periph_clock_enable(RCU_GPIOG);
    rcu_periph_clock_enable(RCU_GPIOH);
    rcu_periph_clock_enable(RCU_GPIOI);
    /* 使能DMA时钟 */
    rcu_periph_clock_enable(RCU_DMA0);
    rcu_periph_clock_enable(RCU_DMA1);
    /* 使能USART时钟 */
    rcu_periph_clock_enable(RCU_USART0);
}
/**
 * @brief 外设优先级设置，默认优先级为NVIC_PRIGROUP_PRE4_SUB0
 * @param  nvic_irq         中断通道
 * @param  pre_priority     抢占优先级
 */
void vBoard_IRQ_Config(IRQn_Type nvic_irq, uint8_t pre_priority)
{
    nvic_irq_enable(nvic_irq,pre_priority,0);
}
